<?php

namespace app\merchant\model;

use think\Model;

/**
 * 资产池
 */
class TpAssetsPool extends Model
{
    //设置当前模型对应的完整数据表名称
    protected $table = 'tp_assets_pool';
    
    //状态
    CONST STATUS_UNSOLD = 0; //未售
    CONST STATUS_RAISING = 1; //募集中
    CONST STATUS_PAYING = 2; //还款中
    CONST STATUS_PAID = 3; //已还款
    
    /**
     * 获取状态列表
     * @return type
     */
    public static function getStatusList()
    {
        $list = [
            self::STATUS_UNSOLD => '未售',
            self::STATUS_RAISING => '募集中',
            self::STATUS_PAYING => '还款中',
            self::STATUS_PAID => '已还款',
        ];
        
        return $list;
    }
    
    /**
     * 根据代码获取状态名称
     * @param type $status 状态代码
     * @return type 状态名称
     */
    public static function getStatusName($status)
    {
        $list = [
            self::STATUS_UNSOLD => '未售',
            self::STATUS_RAISING => '募集中',
            self::STATUS_PAYING => '还款中',
            self::STATUS_PAID => '已还款',
        ];
        
        return isset($list[$status]) ? $list[$status] : '未知状态：' . $status;
    }
    
    /**
     * 获取募集信息
     * @param type $id 资产包主键
     * @param type $status 状态 $type=0时为整形，$type=1时为数组
     * @param type $type 默认为0，表示待募集和募集中，为1时表示已募集
     * @return type
     */
    public static function getRaisedSum($id, $status, $type = 0)
    {
        if ($type == 1) {
            return TpAssetsPool::where('assets_id', '=', $id)->where('status', 'in', $status)->sum('raised');//已募集
        } else {
            return TpAssetsPool::where('assets_id', '=', $id)->where('status', '=', $status)->sum('raised');//募集中
        }
    }
}
